package br.unifor.locadora.dao;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;

import br.unifor.locadora.entity.Administrador;

public class AdministradorDAO {

	private EntityManager em = new EntityManager() {

		@Override
		public Object trataResultSet(ResultSet resultSet) throws SQLException {
			Administrador admin = new Administrador();
			admin.setCodigo(resultSet.getInt("codigo"));
			admin.setLogin(resultSet.getString("login"));
			admin.setNome(resultSet.getString("nome"));
			admin.setSenha(resultSet.getString("senha"));
			return admin;
		}
	};

	public void salvar(Administrador admin) throws SQLException {

		String sql = "insert into administrador (login, senha, nome) values (?, ?, ?)";
		em.executeQuery(sql, admin.getLogin(), admin.getSenha(),
				admin.getNome());

	}

	public void atualizar(Administrador admin) throws SQLException {
		String sql = "update administrador set login = ?, senha = ?, nome = ? where codigo = ?";
		em.executeQuery(sql, admin.getLogin(), admin.getSenha(),
				admin.getNome(), admin.getCodigo());
	
		
	}
	public void excluirPorId(Integer id) throws SQLException {
		String sql = "delete from administrador where codigo = ?";
		em.executeQuery(sql, id);
	}

	public void excluirTodos() throws SQLException {

		String sql = "delete from administrador";
		em.executeQuery(sql); 
	}

	public administrador buscarPorId(Integer id) throws SQLException {
		
		String sql = "select id, descricao "
				+ "from tipo_eventos where id = ?";
		return (administrador)em.getSingleResult(sql, id);
	}
	@SuppressWarnings("unchecked")
	public List<administrador> buscarTodos() throws SQLException{
		String sql = "select id, descricao from tipo_eventos";
		return (List<administrador>)em.getResultList(sql);
	}

	}

